22-4 峏ROC捊

WSH 的執行是以命令列為主,因此我們必須能夠抓取命令列的參數,才能讓 WSH 更具彈性。

以下這個範例,可以一一印出命令列的參數,假設我們在 DOS 命令視窗輸入:

cscript cmdArgument01.js Monday Tuesday Wednesday 可得到下列結果: No. of arguments = 3 args(0)=Monday args(1)=Tuesday args(2)=Wednesday argumentList.js 的原始碼如下:

原始檔(cmdArgument01.js):(灰色區域按兩下即可拷貝)
// 列出所有的輸入參數

args=WScript.Arguments;
if (args.Count()==0) {
	WScript.Echo("Usage: " + WScript.ScriptName + " x y z ...");
	WScript.Quit();
}

// 列出所有的輸入參數
WScript.Echo("No. of arguments = " + WScript.Arguments.Count());
for (i=0; i<args.length; i++)
	WScript.Echo("args("+i+")="+args(i));

其中 args.Count() 和 args.length 都是代表輸入參數的個數。

下面這個範例可以逐次播放音效檔案,範例如下:

原始檔(audioPlay02.js):(灰色區域按兩下即可拷貝)
// 播放多個音效檔案

args=WScript.Arguments;
if (args.Count()==0) {
	WScript.Echo("Usage: " + WScript.ScriptName + " file1.wav file2.wav file3.wav ...");
	WScript.Quit();
}

shell = new ActiveXObject("Wscript.Shell");
for (i=0; i<args.length; i++){
	command = "sndrec32 /play /close " + args(i);
	shell.Run(command, 0, true);
}

若要測試此範例,可以在 DOS 視窗輸入如下:

cscript audioPlay02.js chimes.wav notify.wav ding.wav 就可以聽到三個音效連續播放的聲音。

Hint
上述三個音效檔案,都已經放在範例目錄之下。若要尋找更多的音效檔案,可以到 c:\windows\media 目錄尋找。


JScript 程式設計與應用:用於單機的 WSH 環境